Application virtualization allows software applications to be deployed to users' computers from virtualized application packages maintained on a virtual application server. Application virtualization may remove the requirement for an application to be installed locally on a user's computer. Instead, a virtual application runtime may execute on the computer and stream the application components from the virtualized application package on the server.
Application virtualization generally requires that the computer initially be connected to the virtual application server in order to execute the application and retrieve components from the virtualized application package. In a laptop computer or other computer that is often disconnected from the network, it may be desirable for a local copy of the virtualized application package to be available, for use in the initial execution the application or the retrieval of additional components, for example. If a computer has previously executed the application from the virtual application server, it may contain local copies of most, if not all, of the component files of the application. However, generating a copy of the original virtual application package from these local copies may be difficult, and may require that the entire virtual application package be retrieved from the virtual application server a second time, increasing network utilization.
It is with respect to these considerations and others that the disclosure made herein is presented.